package aip.core.model.information;

import java.io.Serializable;
import java.util.LinkedHashMap;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;

/**
 * 发布信息
 * <p>
 * 负责人/principal: Daniel<br/>
 * 修改记录/revision:<br/>
 * 日期:<br/>
 * 修改人:<br/>
 * 修改说明:
 * @author RUN
 * @version $Id: codetemplates.xml 2007 2009-05-08 08:36:14Z shiw $
 */
@Entity
@Table(name = "AIP_CATALOG")
public class Catalog implements Serializable
{
    private static final long serialVersionUID = -6339559688721605838L;
    /** ID */
    private int id;
    /** 根栏目 */
    private Integer root;
    /** 上级栏目 */
    private Integer superior;
    /** 栏目标题 */
    private String title;
    /** 栏目级别 */
    private int level;
    /** 全名： [一级栏目] 二级栏目 */
    private String fullTitle;
    /** 链接地址 */
    private String url;
    /** 后台链接地址 */
    private String editUrl;
    /** 是否显示 */
    private boolean show;
    /** 子栏目 */
    private LinkedHashMap<Integer, Catalog> children = new LinkedHashMap<Integer, Catalog>();

    /**
     * @return the id
     */
    @Id
    @Column(name = "ID_")
    public int getId()
    {
        return id;
    }

    /**
     * @param id
     *        the id to set
     */
    public void setId(int id)
    {
        this.id = id;
    }

    /**
     * @return the root
     */
    @Column(name = "ROOT_")
    public Integer getRoot()
    {
        return root;
    }

    /**
     * @param root
     *        the root to set
     */
    public void setRoot(Integer root)
    {
        this.root = root;
    }

    /**
     * @return the superior
     */
    @Column(name = "SUPERIOR_")
    public Integer getSuperior()
    {
        return superior;
    }

    /**
     * @param superior
     *        the superior to set
     */
    public void setSuperior(Integer superior)
    {
        this.superior = superior;
    }

    /**
     * @return the title
     */
    @Column(name = "TITLE_")
    public String getTitle()
    {
        return title;
    }

    /**
     * @param title
     *        the title to set
     */
    public void setTitle(String title)
    {
        this.title = title;
    }

    /**
     * @return the level
     */
    @Column(name = "LEVEL_")
    public int getLevel()
    {
        return level;
    }

    /**
     * @param level
     *        the level to set
     */
    public void setLevel(int level)
    {
        this.level = level;
    }

    /**
     * @return the fullTitle
     */
    public String getFullTitle()
    {
        return fullTitle;
    }

    /**
     * @param fullTitle
     *        the fullTitle to set
     */
    public void setFullTitle(String fullTitle)
    {
        this.fullTitle = fullTitle;
    }

    /**
     * @return the url
     */
    public String getUrl()
    {
        return url;
    }

    /**
     * @param url the url to set
     */
    public void setUrl(String url)
    {
        this.url = url;
    }

    /**
     * @return the editUrl
     */
    public String getEditUrl()
    {
        return editUrl;
    }

    /**
     * @param editUrl the editUrl to set
     */
    public void setEditUrl(String editUrl)
    {
        this.editUrl = editUrl;
    }

    /**
     * @return the show
     */
    public boolean isShow()
    {
        return show;
    }

    /**
     * @param show the show to set
     */
    public void setShow(boolean show)
    {
        this.show = show;
    }

    /**
     * @return the children
     */
    public LinkedHashMap<Integer, Catalog> getChildren()
    {
        return children;
    }

    /**
     * @param children
     *        the children to set
     */
    public void setChildren(LinkedHashMap<Integer, Catalog> children)
    {
        this.children = children;
    }

}
